/*使用 multer.diskStorage 创建了一个存储引擎，定义了文件保存的位置和文件名。
    destination 函数定义了文件保存的目录。这里，文件将被保存在 ./data/photo 目录下。
    filename 函数定义了保存在 destination 中的文件名。文件名由当前时间戳（Date.now()）、一个随机数（random(1, 100)）和文件原始扩展名组成。
  
获取上传文件的文件名。
构造一个图片的 URL。
将这个 URL 作为响应发送回客户端。

*/
var multer = require('multer');  //


引入上传插件

//生成随机数
function random(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}

const storage = multer.diskStorage({
  //保存路径
  destination: function (req, file, cb) {
    cb(null, './data/photo')  //文件路径
  },

  //保存在destination中的文件名
  filename: function (req, file, cb) {
    //正则匹配文件后缀
    let type = file.originalname.replace(/.+\./, ".")

    cb(null, Date.now() + random(1, 100) + type)
  }
})

const upload = multer({ storage: storage })

module.exports = function (app) {
  app.post('/profile', upload.single('file'), function (req, res, next) {
    //console.log(req.file)
    let name = req.file.filename;
    let imgurl = '/photo/' + name;
    res.send(imgurl)
  })
}